package ar.edu.uade.centroDistribucion.controladores;

import java.util.List;

import com.thoughtworks.xstream.XStream;

import ar.edu.uade.centroDistribucion.Modelo.BusinessDelegate;
import ar.edu.uade.centroDistribucion.framework.BaseControlador;
import ar.edu.uade.centroDistribucion.framework.BaseVista;
import ar.edu.uade.centroDistribucion.herramientas.FileWriter;
import ar.edu.uade.centroDistribucion.valueObjects.ArticuloVO;
import ar.edu.uade.centroDistribucion.valueObjects.EnvTVO;
import ar.edu.uade.centroDistribucion.valueObjects.VistaEnvTVO;
import ar.edu.uade.centroDistribucion.vista.VistaEnvioATienda;

public class ControladorEnvioATienda extends BaseControlador{

	public ControladorEnvioATienda(BusinessDelegate businessDelegate,
			BaseVista vista) {
		super(businessDelegate, vista);
		// TODO Auto-generated constructor stub
	}
	
	public void ProcesarEnvT(EnvTVO envTVO, int idTienda,int idEnvioATienda) {
		   
		GenerarXML(envTVO,idTienda);
		EnviarVO(envTVO, idEnvioATienda);
		
		}

	private void GenerarXML(EnvTVO envTVO,int idTienda){
		
		try {
			
			String strXML;
			String url = "C:\\EnvT"+idTienda+".xml";
			
			XStream xStream = new XStream();
			xStream.alias("EnvT", EnvTVO.class);
			xStream.alias("Articulo", ArticuloVO.class);		
			strXML = xStream.toXML(envTVO);
			
			FileWriter fileWriter = new FileWriter(url);
			fileWriter.write(strXML);
			System.out.println("EnvT Generada con exito.");
			
			}catch (Exception e) {

				System.out.println(e.getMessage() + e.toString());
				}	
	}
	
	private void EnviarVO(EnvTVO envTVO, int idEnvioATienda){
		
		this.businessDelegate.GenerarEnvioATienda(envTVO, idEnvioATienda);

	}
	public void InicializarEnvioATienda(int idTienda){
		List<VistaEnvTVO> lista = this.businessDelegate.IniciarEnvioATienda(idTienda);
		((VistaEnvioATienda)this.vista).MostrarEnvios(lista);
	}

}
